"""
# 题目信息
内存限制：512MB
时间限制：5s
问题描述：
    给定n个十六进制正整数，输出他们所对应的八进制数
输入格式：
    输入的第一行为一个正整数n(1<=n<=10)
    接下来输入n行，每行一个由0~9，大写数字A~F组成的字符串，
    表示要转换的十六进制正整数，每个十六进制数长度不超过100000。
输出格式：
    输出n行，每行为输入对应的八进制正整数。
    【注意】
    输入的十六进制数不会有前导0，比如012A。
    输出的八进制数也不能有前导0
样例输入：
    2
    39
    123ABC
样例输出：
    71
    4435274
    提示：
    先将十六进制转为某进制数，再转换成八进制
    oct()只接受一个参数
"""
'''
# 分析
1. 第一行输入是一个int值，第二行输入是一个str数列
2. int(x，base = 10)函数，
    - x -- 字符串或数字。
    - base -- 进制数，默认十进制。
    https://www.jb51.net/article/248696.htm
'''
a = int(input())
b = []
c = []
i = 0
while i < a:
    b.append(int(input(), 16))     # 16进制转10进制
    i += 1
for n in range(a):
    c.append(oct(b[n]))           # 10进制转8进制
    print(c[n][2:])               # 打印第n个数，去掉前两位

'''
# 收获
1. 2进制：bin()，8进制：oct()，10进制：int()，16进制：hex()
2. 去掉开始两位数 [2:]
'''
